草庐IT

linux - Bash 脚本检查大写字母的字符串

我正在尝试检查字符串中是否存在任何大写字母。我的代码显示任何输入都没有上限,可能是“sss”、“Sss”、“SSS”if[["$pass"=~[^a-zA-Z0-9]]]thenecho"Upperfound"elseecho"noupper"fi 最佳答案 [^a-zA-Z0-9]表示除了a-z,即小写字母,A-Z,即大写字母,和0-9,即数字。sss、Sss、SSS都只包含字母,因此无法匹配。[[$password=~[A-Z]]]如果密码包含任何大写字母则为真。你应该在运行这种测试之前设置LC_ALL,例如$LC_ALL=cs

linux - Bash 脚本为两个但相反的字符串测试返回 true

在我运行脚本之前我输入了#exportCPIC_MAX_CONV=500下面是test1.script文件#!/bin/bashfunctioncpic(){var="`export|grep-i"CPIC_MAX_CONV"|awk'/CPIC_MAX_CONV/{print$NF}'`"[[$var==""]]&&(echo"EmptyString输出是:#test1.script----MerunningthefileEmptyString无论我用什么""或''或[或[[结果都是一样的。CPIC_MAX_CONV变量由上述脚本找到。我在Linux/CentOS6.3上运行它。想法

linux - 防止 bash 脚本在处​​理 SIGINT 后终止

我正在为一个应用程序编写一个bash包装器。该包装器负责更改用户、运行软件并记录其输出。我还希望它传播SIGINT信号。到目前为止,这是我的代码:#!/bin/bashset-e;set-ufunctionchild_of{ps--ppid$1-o"pid"--no-headers|head-n1}functionhandle_int{echo"ReceivedSIGINT"kill-int$(child_of$SU_PID)}sumyuser-p-c"bash/opt/loop.sh2>&1|tee-i>(logger-tmytag)"&SU_PID=$!trap"handle_in

linux - 哪些 ncurses 框架可用于 BASH?

这个问题在这里已经有了答案:Bashscriptwithgraphicalmenus(2个答案)关闭5年前。是否有更多用于bash的文本用户界面(TUI)框架(除此之外)?:http://code.google.com/p/bashsimplecurses/我想接受用户输入(数据输入)处理条目

linux - 无法将 bool 值分配给 bash 中的变量?

我在脚本的开头将$weMountedBoot设置为false:weMountedBoot=false现在如果它没有挂载,因此条件代码运行我得到这个错误并且变量未设置为真:./verifyBootFiles:line41:false=true:commandnotfound相关代码:if!mount|grep"/boot">/dev/nullthensudomount-r-U$toCheck$mountPoint$weMountedBoot=truefi怎么了?正如您可能认为的那样,我真的很喜欢shell脚本并且拥有丰富的经验...因此也欢迎对代码发表任何其他评论。

php - 无法在 PHP 中运行 bash 脚本

我试图在PHP中运行bash脚本,但无法运行。php-vPHP5.3.10-1ubuntu3.2withSuhosin-Patch(cli)(built:Jun13201217:19:58)Copyright(c)1997-2012ThePHPGroupZendEnginev2.3.0,Copyright(c)1998-2012ZendTechnologiesUbuntu12.04LTS64位。我的php代码:$cmd='/www/var/pl/bash.sh';$retval=-1;exec($cmd,$output);//executingtheexecfunction.forea

linux - BASH:[](测试)行为不一致

在我的bash中test有退出状态0的态度:$test-n&&echotrue||echofalse->true同时$test-n""&&echotrue||echofalse->false这意味着当它根本没有收到任何参数时,它假定为非零值。情况-z可以正常工作:$test-z&&echotrue||echofalse->true$test-z""&&echotrue||echofalse->true这是预期的行为吗? 最佳答案 基本上,您是在询问测试字符串“-z”是否为非空。它是,所以它告诉您true。实际算法测试使用的是:0ar

linux - 读取 bash 环境变量

我有一个给出环境变量的程序TIME=1328189073CLIENT[if-modified-since]=Thu,02Feb201212:09:40GMTHTTP_FILE=/news/rss.xml?edition=ukHTTP_PORT=80HTTP_HOST=feeds.bbci.co.ukHTTP_PROTO=httpCLIENT[host]=feeds.bbci.co.ukCLIENTID=10CLIENT[user-agent]=SafariPWD=/VERSION=SR.4.2.2.MR.20110523CLIENT[accept]=text/html,applicat

linux - 在 bash 中的并行进程之间添加等待

我有一个bash脚本可以将数据上传到站点。我的上传速度越来越慢,所以我开始使用xargs和-N1并行运行它,同时运行5个。但是,问题是如果我一次运行5个验证码,服务器会要求我解决验证码问题,而一次运行1个就可以正常工作。我想这是因为所有进程都在同一时间开始,我被标记了。无论如何,问题来了,我有什么方法可以在xargs/gnuparallel中的启动进程之间添加等待时间(比如1秒)?我唯一能想到的就是使用pgrep脚本|wc-1来计算脚本实例,并休眠该秒数。但是,这确实不是最优的,有没有更好的方法来做到这一点? 最佳答案 如果上传时间

linux - 用于归档日志文件的 Bash 脚本

我正在尝试编写一个脚本来重命名和归档日志文件,但我就是想不出来。这是它应该如何工作的一个例子:如果你有一个名为error_log的文件并且你第一次运行你的脚本它应该将文件error_log重命名为error_log.1然后归档error_log.1使用gzip。第二次运行脚本时,您将有两个文件:error_log和error_log.1.gz,现在您应该将error_log.1.gz重命名为error_log。2.gz;error_log到error_log.1并再次使用gzip将error_log.1归档到error_log.1.gz。 最佳答案